package com.aek.ebey.sys.service.ribbon;

import java.util.Map;

import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

/**
 * 
 * <一句话功能简述>用户远程调用接口
 * <功能详细描述>
 * 
 * @author  Shuangwf
 * @version  1.0, 2017年5月18日
 */
@FeignClient(value = "auth-server")
public interface AuthClientService
{
    /**
     * <一句话功能简述>修改角色调用接口
     * <功能详细描述>            修改角色下用户缓存信息
     * @param roleId
     * @param token
     * @return [参数说明]
     * 
     * @return Map<String,Object> [返回类型说明]
     * @exception throws [违例类型] [违例说明]
     * @see [类、类#方法、类#成员]
     */
    @RequestMapping(value = "/apis/perms/remove/{roleId}", method = RequestMethod.POST)
    public Map<String, Object> removePerms(@PathVariable(value = "roleId", required = true) Long roleId,
            @RequestHeader("${jwt.header}") String token);
    
    /**
     * <一句话功能简述>管理员修改用户密码调用接口:修改用户后，用户需要重新登录
     * <功能详细描述>                 
     * @param mobile
     * @param token
     * @return [参数说明]
     * 
     * @return Map<String,Object> [返回类型说明]
     * @exception throws [违例类型] [违例说明]
     * @see [类、类#方法、类#成员]
     */
    @RequestMapping(value = "/apis/remove/{mobile}", method = RequestMethod.POST)
    public Map<String, Object> removeUser(@PathVariable(value = "mobile", required = true) String mobile,
            @RequestHeader("${jwt.header}") String token);
    
}
